package mlz.b_arrayList;

import java.util.ArrayList;
import java.util.Scanner;

/*
    菜品操作类: 完成操作菜品类的功能(菜品的上架,菜品信息的展示)
 */
public class FoodManager {
    // 多个菜品可以存在在 数组 / 集合
    //private Food food; // 如果这么定义,只会获得一个菜品,但是现在需要的是很多的菜品
    //定义一个集合用于存储多个菜品对象,又因为一个菜品对象中是包含所有的菜品信息的
    private ArrayList<Food> foods = new ArrayList<>();

    //获取控制台对象
    Scanner sc = new Scanner(System.in);

    //菜品的上架
    public void addFood(){
        System.out.println("-------菜品上架-------");
        //获取菜品对象,然后调用获取菜品中成员变量的方法,进行添加具体的数据
        Food food = new Food();
        //菜品的名称（name）、菜品的原价（originalPrice）、菜品的优惠价（specialPrice）、菜品的其他信息（info）
        System.out.println("--------菜品的名称--------");
        String name = sc.next();
        food.setName(name);

        System.out.println("--------菜品的原价--------");
        double originalPrice = sc.nextDouble();
        food.setOriginalPrice(originalPrice);

        System.out.println("--------菜品的优惠价--------");
        double specialPrice = sc.nextDouble();
        food.setSpecialPrice(specialPrice);

        System.out.println("--------菜品的其他信息--------");
        String info = sc.next();
        food.setInfo(info);

        //把生成好的food对象给他添加到菜品集合中
        foods.add(food);
        System.out.println("菜品上架成功!!!!");
    }


    //菜品信息的展示
    public void printFood(){
        System.out.println("----------查看菜品信息------------");
        for (int i = 0; i < foods.size(); i++) {
            //获取当前下标下对应的菜品对象
            Food food = foods.get(i); //food就是一个菜品对象
            System.out.println("菜品名称:" + food.getName());
            System.out.println("菜品原价:" + food.getOriginalPrice());
            System.out.println("菜品折扣价:" + food.getSpecialPrice());
            System.out.println("菜品信息:" + food.getInfo());
        }
    }

    //专门展示系统的界面(1.菜品的上架 2.菜品信息的展示 3.退出程序)
    public void start(){
        while(true){
            System.out.println("---------欢迎进入商家后台系统----------");
            System.out.println("----------------1.上架菜品(add)--------------------");
            System.out.println("----------------2.浏览菜品(query)--------------------");
            System.out.println("----------------3.退出程序(exit)--------------------");
            System.out.println("请输入您的操作: ");
            String command = sc.next();
            switch (command){
                case "add":
                    addFood();
                    break;
                case "query":
                    printFood();
                    break;
                case "exit":
                    return;//结束当前方法
                default:
                    System.out.println("您的输入有误~!!");
            }
        }
    }
}




















